<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<p>在 bbb 函数中调用 aaa 函数，使用 call 调用，</p>
		<p>aaa.call(this, 参数, 参数, 参数)------aaa调用自身</p>
	</body>
</html>
<script type="text/javascript">
	// 在bbb中调用aaa函数1111112222
	function aaa(name, age) {
		this.name = name,
			this.age = age
	}

	function bbb(name, age, sex, tel) {
		// 使用call调用aaa(),this指向的是调用的aaa()
		aaa.call(this, name, age);

		this.sex = sex,
			this.tel = tel
		console.log(name + '-' + age + '-' + sex + '-' + tel)
	}

	var bbb = new bbb('yansu', '20', 'nan', '110')



	//*******************************************************************

	// 	aaa.call(this指向的位置, aaa的属性)，将aaa的属性放入前面的指向里 
	//  本质上用来修改this的指向，
	//	obj本来为空，将obj调用进ccc里，就修改了ccc的this，this就指obj，obj的内容就是ccc的美容
	function ccc(name, age) {
		// this-->obj
		this.name = name,
			this.age = age
		console.log(name + '-' + age)
	}
	//	var ddd = new ccc('姓名1', '年龄')
	var obj = {}
	ccc.call(obj, '姓名', '年龄')
	console.log(obj.name)

	var aaaa = {
		fun: function(city, country){
			console.log(this.name, this.job, city, country);
		}
	}
	var bbbb = {
		name: "b-name",
		job: "b-job"
	}
	var cccc = function() {
		this.name = "c-name"
		// this.job = "c-job"
	}
	// aaaa.fun.call(bbbb, "Seatle", "USA");
	aaaa.fun.call(cccc(), "Seatle", "USA");
</script>
